package com.molihub.service;

import com.molihub.entity.ArticleKind;

import java.util.List;

/**
 * @InterfaceName: ArticleKindService
 * @Description: 文章类别业务层接口
 * @author: xw
 * @date 2020/1/26 21:15
 * @Version: 1.0
 **/
public interface ArticleKindService {

    /**
     * @Description 添加文章类别
     * @Author xw
     * @Date 20:16 2020/1/26
     * @Param [articleKind]
     * @return java.lang.Integer 返回影响的数据表行数，自增主键封装到articleKind的id属性
     **/
    public Integer addArticleKind(ArticleKind articleKind);

    /**
     * @Description 删除文章类别，如果文章ID不为空那么根据文章ID删除，否则根据用户ID和类别名删除
     * @Author xw
     * @Date 20:18 2020/1/26
     * @Param [articleKind]
     * @return java.lang.Integer 返回影响的数据表行数
     **/
    public Integer deleteArticleKind(ArticleKind articleKind);

    /**
     * @Description 获取一个用户的所有文章类别
     * @Author xw
     * @Date 20:20 2020/1/26
     * @Param [userId]
     * @return java.util.List<com.molihub.entity.ArticleKind>
     **/
    public List<ArticleKind> getArticleKindsByUserId(Integer userId);

    /**
     * @Description 根据文章类别id获得文章类别对象
     * @Author xw
     * @Date 20:21 2020/1/26
     * @Param [id]
     * @return com.molihub.entity.ArticleKind
     **/
    public ArticleKind getArticleKindById(Integer id);

    /**
     * @Description 根据文章类别id修改类别名称
     * @Author xw
     * @Date 20:22 2020/1/26
     * @Param [articleKind]
     * @return java.lang.Integer 返回影响的数据表行数
     **/
    public Integer updateArticleKind(ArticleKind articleKind);

    /**
     * @Description 获得用户分类目录的数量
     * @Author xw
     * @Date 20:20 2020/2/2
     * @Param [userId]
     * @return java.lang.Integer
     **/
    public Integer getKindCountByUserId(Integer userId);
}
